1
Au-delà des opérations point par point : compréhension des motifs de réduction
AI023Lesson 8
00:00

Alors que opérations ponctuelles traitent chaque élément d'un tenseur de manière indépendante, motifs de réduction introduisent des dépendances entre données où plusieurs éléments d'entrée sont réduits à une seule valeur de sortie (par exemple, somme, maximum ou moyenne). Pour les implémenter efficacement, il faut combler l'écart entre la structure logique 2D des données et leur représentation linéaire en mémoire matérielle.

1. Mappage de mémoire 2D

Les tenseurs 2D sont logiquement des grilles mais physiquement linéaires en mémoire vive (RAM). Comprendre en ordre ligne contre en ordre colonne le format est essentiel pour déterminer si une réduction parcourt des adresses mémoire contiguës ou nécessite un accès avec pas (strided).

2. Topologie des opérations ponctuelles contre réduction

Une copie de matrice représente une opération ponctuelle avec une correspondance $1:1$ entre entrée et sortie. En revanche, une réduction est une opération de type plusieurs-à-un ($N:1$) qui nécessite un cumul partagé entre threads ou un traitement séquentiel au sein d'un bloc.

Ponctuelle (copie de matrice)Réduction (maximum par ligne)

3. Effondrement de dimension

Les réductions sont définies par l' axe d'opération. Réduire sur l'axe 1 (lignes) contre l'axe 0 (colonnes) change fondamentalement les schémas d'accès mémoire et les taux de réussite du cache matériel.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>